#!/usr/bin/env python
# _*_coding:utf-8 _*_
__author__ = "Gao"
'''
手动画圆
1. 使用正弦和余弦函数，计算圆周上每个点的x,y坐标
2. 以每个点的x,y坐标为圆心，画实心圆，作为圆周上的一个点
3. 每画完一个圆周，变色
'''

import sys,random, math,pygame
import time
from pygame.locals import *

pygame.init()

screen = pygame.display.set_mode((600,500))

screen.fill((0,0,100))

pos_x = 300    # 圆中心点x坐标
pos_y = 250    # 圆中心点y坐标
radius = 200    # 圆半径
angle = 360    # 整圆角度

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
        keys = pygame.key.get_pressed()
        if keys[K_ESCAPE]:
            sys.exit()

    angle += 1
    if angle >= 360:    # 画完圆，变色，重新开始画圆
        angle = 0
        r = random.randint(0,255)
        g = random.randint(0,255)
        b = random.randint(0,255)
        color = r,g,b
    x = math.cos(math.radians(angle)) * radius    # 余弦计算x轴坐标
    y = math.sin(math.radians(angle)) * radius    # 正弦计算y轴坐标

    pos = (int(pos_x+x),int(pos_y+y))    # 从圆中心，计算圆周上的每个点

    pygame.draw.circle(screen,color,pos,10,0)    # 在每个点上画实心圆
    pygame.display.update()
    time.sleep(0.01)
